import ora from 'ora'
import fs from 'fs'
import download from 'download-git-repo'
const spinner = ora('正在下载模板')

export const questions = [
    {
        type: 'input', // 问题类型
        name: 'projectName', // 结果里面的key
        message: '请输入项目名称', // 提示信息
        default: 'my-cli-demo', // 默认值
        validate: (value) => {
            if (checkPathExist(value)) {
                return `项目${value}已存在，请 Ctrl + c 终止程序`
            }
            return true
        }
    },
    {
        type: 'confirm',
        name: 'ists',
        message: '是否需要TS',
        default: true,
    },
];

// 检查路径是否存在
// 存在返回true，不存在返回false
export function checkPathExist(path) {
    return fs.existsSync(path)
}

// 下载不同环境的代码
export const downloadTemp = (branch, project) => {
    spinner.start()
    return new Promise((resolve, reject) => {
        download(`direct:https://gitee.com/chinafaker/vue-template.git#${branch}`,
            project,
            { clone: true, },
            function (err) {
                if (err) {
                    reject(err)
                    console.log(err)
                }
                resolve()
                spinner.succeed('下载完成')
            })
    })

}